import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import styleImport from 'vite-plugin-style-import'
const path = require('path')
// import { DEFAULT_ASSETS_RE } from './constants.js'
export default defineConfig({
  // base: '/',
  define: true,
  plugins: [
    vue(),
    vueJsx({}), // 专用的 Babel 转换插件
    styleImport({
      libs: []
    })
  ],
  // assetsInclude: [DEFAULT_ASSETS_RE],
  resolve: {
    alias: [{
      find: '@',
      replacement: path.join(__dirname, '.', 'src')
    }
      //   {
      //     find: 'vue-i18n',
      //     replacement: 'vue-i18n/dist/vue-i18n.cjs.js'
      //   }
    ]
  },
  server: {
    https: false, // 是否开启 https
    host: '127.0.0.1',
    port: 8800,
    strictPort: false, // 端口被占用是否直接退出
    proxy: {
      '/api': {
        target: 'http://nodeapi.linxiaming.cn',
        changeOrigin: true,
        secure: false
      },
      '/act': {
        target: 'http://127.0.0.1:3000',
        changeOrigin: true,
        secure: false
      },
      '/java': {
        target: 'http://127.0.0.1:9002',
        changeOrigin: true,
        secure: false
      },
      '/ssyt': {
        target: 'http://127.0.0.1:8801',
        changeOrigin: true,
        secure: false
      },
    },
    open: false // 是否自动在浏览器打开
  },
  build: {
    outDir: 'dist', // 输出路径
    target: 'esnext', // 设置最终构建的浏览器兼容目标/默认：modules
    assetsInlineLimit: '4096', // 将内联为 base64 编码 默认： 4096 (4kb)
    cssCodeSplit: false, // 启用/禁用 CSS 代码拆分; 默认true(启用)
    sourcemap: false, // 构建后是否生成 source map 文件
    cors: true,
    rollupOptions: {
      input: './index.html',
      output: {
        dir: 'dist',
        format: 'es',
        chunkFileNames: 'js/[name]-[hash].js',
        assetFileNames: 'css/[name]-[hash].css',
        // compact: true, //缩小由 rollup 生成的包装器代码
      }
    }
  }
})
